package cn.project.domain.strategy.service.armory;

/**
 * @author xu
 * @description 策略抽奖的调度
 * @date 2025/7/7
 */

public interface IStrategyDispatch {
    /**
     * 获取随机奖品
     * @param strategyId
     * @return 抽奖结果 奖品Id
     */
    Integer getRandomAwardId(Long strategyId);

    Integer getRandomAwardId(Long strategyId,String ruleWeightRule);

    /**
     * 根据策略ID和奖品ID，扣减奖品缓存库存
     *
     * @param strategyId 策略ID
     * @param awardId    奖品ID
     * @return 扣减结果
     */
    Boolean subtractionAwardStock(Long strategyId, Integer awardId);
}
